/* ========================================================================== */
/*   IRSimulatie.h                                                              */
/*   (c) 2012 Team 7 Hogeschool Utrecht ICT TI                                */
/*		Lars Stolwijk, Gerben Boot, Guido van Hienen, Marcel Boelen			  */
/*                                                                            */
/*   ONLY FOR TESTING!! Send signals that would normally come from the IRSensor				  */
/* ========================================================================== */

#ifndef __IRSimulatie
#define __IRSimulatie

#include "pRTOS.h"
#include "armboard.h"
#include "IRHitEvent.h"
#include "ReadLogHandler.h"
#include "ProcessHitController.h"
#include "OperationController.h"

//***************************************************************************
//
// class IRSimulatie
//
//! ONLY FOR TESTING!! Send signals that would normally come from the IRSensor
//
//***************************************************************************

class IRSimulatie : public RTOS::task {
	public:	
		//! Constructor
		IRSimulatie(int prio, ReadLogHandler * readLogHandler, ProcessHitController * processHitController, OperationController * operationController ): RTOS::task(prio, "IRSimulatieTask"), theReadLogHandler(readLogHandler), theProcessHitController(processHitController), theOperationController(operationController), IRSTimer( this, "IRSTimer" ){}
		
		//! The main method
		void main();
	private:
		ReadLogHandler * theReadLogHandler;
		ProcessHitController * theProcessHitController;
		OperationController * theOperationController;
		RTOS::timer IRSTimer;
		
};

#endif
